package com.bigbee.recursion;

import java.io.File;

/**
 * 利用递归思想列举出某个目录下的所有文件
 * @author gyf
 *
 */
public class showdirlist {
	
	public static void showDirList(String dirPath) {
		try {
			File file = new File(dirPath);
			if(file.exists()){//判断文件是否存在
				if(file.isDirectory()){//判断文件是否是文件夹
					File[] fileList = file.listFiles();
					for(int n = 0 ; n < fileList.length; n ++ ){
						if(fileList[n].isDirectory()){
							System.out.println(fileList[n].getPath());
							showDirList(fileList[n].getPath());//利用递归层层进入
						}
					}
					for(int n = 0 ; n < fileList.length; n ++ ){
						if(fileList[n].isFile()){
							System.out.println(fileList[n].getPath());
						}
					}
				}
				
			}
		} catch (Exception e) {
			// TODO: handle exception
			e.getStackTrace();
		}
		
	}
	public static void main(String[] args) {
		showDirList("D:/");
	}
}
